﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using BA2009.Entities;
using BA2009.Services;

namespace BA2009.Tests.Services
{
    [TestClass]
    public class BannerServiceTest
    {
    //    [TestMethod]
    //    public void insert_to_database_test()
    //    {
    //        Banner banner = Fakes.FakeBA2009Data.CreateBanner();
    //        banner.BannerID = 0;

    //        var service = new BannerService();

    //        List<MapEntity> resources=new List<MapEntity>();
    //        for(int i=0;i<3;i++)
    //        {
    //            MapEntity entity=new MapEntity{ID1=0,ID2=i+1};

    //            resources.Add(entity);
    //        }

    //        object[] maps = new object[2] { resources, null };
    //        service.Add(banner, maps);
    //    }

    //    [TestMethod]
    //    public void delete_from_database_test()
    //    {
    //        var service = new BannerService();
    //        var banner = service.GetById(8);
    //        service.Delete(banner);

    //        var newBanner = service.GetById(8);
    //        Assert.AreEqual(null, newBanner);
    //    }

    //    [TestMethod]
    //    public void update_to_database_test()
    //    {
    //        Banner banner = Fakes.FakeBA2009Data.CreateBanner();
    //        banner.BannerID = 0;

    //        var service = new BannerService();

    //        List<MapEntity> resources = new List<MapEntity>();
    //        for (int i = 0; i < 3; i++)
    //        {
    //            MapEntity entity = new MapEntity { ID1 = 0, ID2 = i + 1 };

    //            resources.Add(entity);
    //        }

    //        object[] maps = new object[2] { resources, null };
    //        int insertedid=service.Add(banner, maps);

    //        Assert.IsTrue(insertedid > 0);

    //        var newbanner = service.GetById(insertedid);

    //        Assert.IsNotNull(newbanner);
    //        Assert.AreEqual("CODE", newbanner.Code);

    //        List<MapEntity> newResourceMap = new List<MapEntity>();
    //        {
    //            for (int i = 3; i < 6; i++)
    //            {
    //                MapEntity entity = new MapEntity { ID1 = insertedid, ID2 = i };

    //                newResourceMap.Add(entity);
    //            }
                
    //        }

    //        object[] maps1 = new object[2] { newResourceMap, null };
    //        newbanner.Code = "MODIFIED_CODE";
    //        newbanner.BannerName = "modified name";
    //        service.Update(newbanner, maps1);

    //        Banner updated = service.GetById(newbanner.BannerID);
    //        Assert.AreEqual("MODIFIED_CODE", updated.Code);
    //    }
    }
}
